POO
Aprende lo necesario de la programación orientada a objectos.
Constructor
-
🏗️ La función init nos permite inicializar una clase y poder crearle parámetros a una determinada clase. Además esta función no debe ser invocada por a parte, ya que es ejecutada cuando la clase se invoca.
-
🚧 A cualquier función dentro de una clase en Python, siempre debe tener el parámetro 'self', ya que le indica al Intérprete que esa función le pertenece a la clase 'x' o objecto 'x'.
-
🏢 Si nosotros le creamos argumentos a la función init, la clase heredará los mismos argumentos, por lo tanto será obligatorio satisfacer los argumentos de la nueva clase al invocarla.
class x:
def __init__(self, name : str, age : int) -> None:
...
x('Tomás', 20)
Métodos
- 🏺 Nosotros en Python podemos crear una clase con un determinado nombre y crearle sus propios métodos. Para simplemente debemos crear funciones dentro de la clase, siempre con el parámetro 'self' y cualquier cantidad de parámetros que deseemos.
class x:
def __init__ (self, name : str, age : int) -> None:
...
def getAge(self) -> str:
...
z = x('Diego', 22)
z.getAge()
Variables
- 📂 En una clase en Python podemos definir variables globales usando el argumento 'self' para ello usamos la siguiente sintaxis:
self.identificador = VariableOriginal
- Y además a estás variables podemos accesar desde cualquier método de la clase siempre utilizando el parámetro 'self'.
class x:
def __init__(self, name : str, age : int) -> None:
self.name = name
self.age = age
def getAge(self) -> str:
return self.age
z = x('Liam', 17)
#Nos retorna un integer con un valor de '17'.
print(z.getAge())
Herencia
-
👑 En una clase en Python podemos heredar argumentos, funciones, propiedades de otras clases, para ello usamos la función 'super()' dentro de la función 'init' de la clase que va heredar argumentos.
-
✨ Si deseamos crear una instancia de la clase original debemos usar el 'super().init()' que nos permite crear una instancia interna de la clase original para usarlo en la nueva clase.
Partes de la estructura
- class x -> Definimos la nueva clase.
- (z) -> Elegimos a que clase orginal heredamos parámetros, funciones y variables.
class z:
def __init__(self, height : int) -> None:
self.height = height
def getHeight(self) -> int:
return self.height
class x (z):
def __init__ (self) -> None:
super().__init__(175)
self.size = self.getHeight()
def getSize(self) -> int:
return self.size
b = x()
#Nos retorna un valor de 175, ya que la clase X heredo las funciones de la clase orginal.
print(b.getSize())